/*
 * @Author: xuetao 3168581151@qq.com
 * @Date: 2025-03-01
 * @LastEditors: xuetao 3168581151@qq.com
 * @LastEditTime: 2025-03-10
 * @Description: 
 */

/// 聊天界面底部面板类型（移动端）
enum PanelType {
  // 收起
  none,
  // 键盘
  keyboard,
  // 语音
  voice,
  // 表情
  emoji,
  // 其它工具
  tool,
}

// 定义消息内容类型枚举
enum ContentType {
  text(0, '文本'),
  file(1, '文件'),
  richText(2, '富文本'),
  voice(3, '语音'),
  system(4, '系统提示时间');

  const ContentType(this.value, this.label);

  final int value; // 对应数据库/接口的整数值
  final String label; // 显示用文本
  // 静态转换方法
  static ContentType fromInt(int value) =>
      values.firstWhere((e) => e.value == value,
          orElse: () => throw ArgumentError('Invalid value'));
}

enum ConversationType {
  user(0, 'user'),
  group(1, 'group'),
  temp(2, 'temp');

  const ConversationType(this.value, this.label);

  final int value; //
  final String label; //
  // 静态转换方法
  static ConversationType fromInt(int value) =>
      values.firstWhere((e) => e.value == value,
          orElse: () => throw ArgumentError('Invalid value'));
}
